
!------------------------------------------------------------------------!
!  The Community Multiscale Air Quality (CMAQ) system software is in     !
!  continuous development by various groups and is based on information  !
!  from these groups: Federal Government employees, contractors working  !
!  within a United States Government contract, and non-Federal sources   !
!  including research institutions.  These groups give the Government    !
!  permission to use, prepare derivative works of, and distribute copies !
!  of their work in the CMAQ system to the public and to permit others   !
!  to do so.  The United States Environmental Protection Agency          !
!  therefore grants similar permission to use the CMAQ system software,  !
!  but users are requested to provide copies of derivative works or      !
!  products designed to operate in the CMAQ system to the United States  !
!  Government without restrictions as to use by others.  Software        !
!  that is used with the CMAQ system but distributed under the GNU       !
!  General Public License or the GNU Lesser General Public License is    !
!  subject to their copyright restrictions.                              !
!------------------------------------------------------------------------!
 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! Sparse Jacobian Data Structures File
! 
! Generated by KPP-2.2.3 symbolic chemistry Kinetics PreProcessor
!       (http://www.cs.vt.edu/~asandu/Software/KPP)
! KPP is distributed under GPL, the general public licence
!       (http://www.gnu.org/copyleft/gpl.html)
! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa
! (C) 1997-2005, A. Sandu, Michigan Tech, Virginia Tech
!     With important contributions from:
!        M. Damian, Villanova University, USA
!        R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



MODULE aqchem_JacobianSP

  PUBLIC
  SAVE


! Sparse Jacobian Data


  INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_0 = (/ &
       1,  2,  3,  4,  5,  6,  7,  8,  9,  9, 10, 10, &
      11, 12, 12, 13, 14, 15, 16, 17, 18, 18, 19, 19, &
      19, 19, 19, 19, 19, 19, 19, 20, 20, 21, 21, 21, &
      21, 21, 22, 22, 22, 22, 23, 23, 24, 24, 25, 25, &
      26, 26, 26, 27, 27, 28, 28, 29, 29, 29, 29, 30, &
      30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, &
      36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, &
      42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, &
      48, 49, 49, 49, 50, 50, 50, 51, 51, 52, 52, 52, &
      53, 53, 53, 53, 54, 54, 55, 55, 56, 56, 56, 56, &
      57, 57, 58, 58, 59, 59, 60, 60, 60, 61, 61, 62, &
      62, 62, 62, 63, 63, 63, 64, 64, 64, 64, 65, 65, &
      65, 66, 66, 66, 67, 67, 67, 67, 68, 68, 68, 69, &
      69, 70, 70, 70, 71, 71, 71, 71, 72, 72, 73, 73, &
      74, 74, 75, 75, 76, 76, 76, 77, 77, 78, 78, 78, &
      79, 79, 80, 80, 81, 81, 82, 82, 83, 83, 84, 84, &
      85, 85, 86, 86, 87, 87, 88, 88, 89, 89, 90, 90, &
      91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 96, 96, &
      97, 97, 98, 98, 99, 99,100,100,101,101,102,102, &
     103,103,103,104,104,104,104,104,105,105,105,106, &
     106,106,106,107,107,107,107,108,108,108,108,109, &
     109,109,109,110,110,110,111,111,111,111,112,112, &
     112,112,113,113,113,114,114,114,115,115,115,115, &
     116,116,116,116,116,116,117,117,117,117,117,118, &
     118,118,118,118,118,119,119,119,119,119,119,119, &
     119,120,120,120,121,121,121,121,121,122,122,122, &
     122,123,123,123,123,124,124,124,124,124,124,124, &
     125,125,125,125,125,125,125,125,125,125,125,125, &
     126,126,126,126,126,127,127,127,127,128,128,128, &
     128,128,129,129,129,129,129,130,130,130,130,130 /)
  INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_1 = (/ &
     131,131,131,131,132,132,132,132,132,132,132,133, &
     133,133,133,133,134,134,134,134,134,135,135,135, &
     135,135,135,136,136,136,136,136,136,137,137,137, &
     137,137,137,137,138,138,138,138,139,139,139,139, &
     139,140,140,140,140,141,141,141,141,141,141,141, &
     141,142,142,142,142,142,142,142,143,143,143,143, &
     143,143,143,143,144,144,144,144,144,144,144,145, &
     145,145,145,145,145,145,145,146,146,146,146,146, &
     146,146,147,147,147,147,147,147,147,147,147,147, &
     147,148,148,148,148,148,148,148,149,149,149,149, &
     149,149,149,149,149,149,150,150,150,150,150,150, &
     150,150,151,151,151,151,151,151,152,152,152,152, &
     152,152,152,152,152,152,152,152,152,153,153,153, &
     153,153,153,153,153,153,153,153,153,153,153,153, &
     153,153,153,153,153,153,153,153,153,154,154,154, &
     154,154,154,154,154,154,154,154,154,154,154,154, &
     154,154,154,154,154,154,154,154,154,154,154,155, &
     155,155,155,155,155,155,155,155,155,155,155,155, &
     155,155,155,155,155,155,155,155,155,155,155,155, &
     155,155,155,156,156,156,156,156,156,156,156,156, &
     156,156,156,156,156,156,156,156,156,156,156,156, &
     156,156,156,156,156,156,156,156,156,156,156,156, &
     156,156,156,156,156,156,156,156,156,156,156,156, &
     156,156,157,157,157,157,157,157,157,157,157,157, &
     157,157,157,157,157,157,157,157,157,157,157,157, &
     157,157,158,158,158,158,158,158,158,158,158,158, &
     158,159,159,159,159,159,159,159,159,159,159,159, &
     159,159,159,159,160,160,160,160,160,160,160,160, &
     160,160,160,160,160,160,161,161,161,161,161,161, &
     161,161,161,161,161,161,161,161,161,161,161,161 /)
  INTEGER, PARAMETER, DIMENSION(18) :: LU_IROW_2 = (/ &
     161,161,161,161,161,161,161,161,161,161,161,161, &
     161,161,161,161,161,161 /)
  INTEGER, PARAMETER, DIMENSION(738) :: LU_IROW = (/&
    LU_IROW_0, LU_IROW_1, LU_IROW_2 /)

  INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_0 = (/ &
       1,  2,  3,  4,  5,  6,  7,  8,  8,  9,  6, 10, &
      11,  7, 12, 13, 14, 15, 16, 17,  4, 18, 19,104, &
     123,128,143,145,148,157,160, 20,107, 21, 22,114, &
     115,125, 22,131,132,161, 23,108, 24,146, 25,158, &
      26,138,142, 27,121, 28,122, 29,110,124,154, 30, &
     111, 31,106, 32,113, 33,161, 34,147, 35,109, 36, &
     112,  9, 37, 13, 38, 14, 39, 10, 40, 11, 41, 12, &
      42, 43,156, 15, 44, 16, 45, 17, 46, 18, 47, 48, &
     159, 49,126,152, 50,130,150, 51,116, 52, 53,102, &
      53,116,147,154, 54,103, 55, 56, 56,102,103,116, &
      57, 76, 58, 78, 59, 60, 60, 76, 78, 61, 62, 62, &
      76, 78,154, 63,137,141, 64,129,131,132, 65,133, &
     134, 66,135,136, 67,144,148,149, 68,151,155, 69, &
     105, 70,139,140, 71,117,118,119, 72,127, 73,120, &
      74,126, 75, 76, 75, 76,154, 77, 78, 77, 78,154, &
      79,105, 80,135, 81,144, 82,155, 83,134, 84,119, &
      85,146, 86,107, 87,125, 88,108, 89,158, 90,142, &
      91,121, 92,122, 93,111, 94,106, 95,113, 96,159, &
      97,150, 98,127, 99,120,100,145,101,116,102,116, &
     103,116,154,104,120,127,157,161, 79,105,161, 94, &
     105,106,161, 86,107,147,156, 88,108,109,153,  2, &
     108,109,153,110,124,156, 93,111,112,156,  3,111, &
     112,156, 95,113,161,114,115,156,114,115,125,156, &
     101,102,103,116,147,154,117,118,119,153,161,118, &
     119,153,157,160,161, 84,117,118,119,153,157,160, &
     161, 99,120,157, 91,120,121,156,157, 92,122,156, &
     157,123,127,143,154,110,123,124,127,143,154,156, &
      87,115,125,129,131,132,133,134,138,142,156,161, &
      74,126,152,156,161, 98,127,154,157,128,143,155, &
     156,157,129,132,137,156,161,130,150,151,156,159 /)
  INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_1 = (/ &
     131,132,156,161,129,131,132,137,141,156,161,113, &
     133,134,156,161, 83,133,134,156,161, 80,134,135, &
     136,156,161,133,134,135,136,156,161,106,135,136, &
     137,141,156,161,138,142,156,161,105,139,140,156, &
     161,139,140,156,161,113,136,137,139,140,141,156, &
     161, 90,138,142,148,149,156,161,104,120,127,143, &
     154,155,157,161, 81,120,144,148,149,157,160, 13, &
      14,100,145,156,157,158,159, 85,146,151,155,156, &
     157,161,  1,107,116,127,147,150,152,154,156,157, &
     158,144,148,149,153,157,160,161,135,136,144,148, &
     149,153,156,157,160,161, 97,130,150,151,155,156, &
     157,159,151,155,156,158,159,161,126,130,145,150, &
     151,152,155,156,157,158,159,160,161,108,109,131, &
     132,137,138,141,142,144,147,148,149,150,151,152, &
     153,154,155,156,157,158,159,160,161,  5, 13, 14, &
      76, 78,116,121,122,124,127,128,143,145,146,147, &
     150,151,152,154,155,156,157,158,159,160,161, 82, &
     105,106,113,120,133,134,137,138,139,140,141,142, &
     143,146,148,149,150,151,153,154,155,156,157,158, &
     159,160,161, 13, 14,107,110,111,112,114,115,121, &
     122,124,125,126,127,128,129,130,131,132,133,134, &
     135,136,137,138,139,140,141,142,143,145,146,147, &
     148,149,150,151,152,153,154,155,156,157,158,159, &
     160,161, 13, 14,120,121,122,127,128,143,144,145, &
     146,148,149,150,151,153,154,155,156,157,158,159, &
     160,161, 89,145,151,152,155,156,157,158,159,160, &
     161, 96,126,145,147,150,151,152,154,155,156,157, &
     158,159,160,161, 13, 14,144,148,149,153,154,155, &
     156,157,158,159,160,161,105,106,113,123,126,127, &
     129,131,132,133,134,135,136,137,138,139,140,141 /)
  INTEGER, PARAMETER, DIMENSION(18) :: LU_ICOL_2 = (/ &
     142,143,146,147,148,149,150,151,152,153,154,155, &
     156,157,158,159,160,161 /)
  INTEGER, PARAMETER, DIMENSION(738) :: LU_ICOL = (/&
    LU_ICOL_0, LU_ICOL_1, LU_ICOL_2 /)

  INTEGER, PARAMETER, DIMENSION(162) :: LU_CROW = (/ &
       1,  2,  3,  4,  5,  6,  7,  8,  9, 11, 13, 14, &
      16, 17, 18, 19, 20, 21, 23, 32, 34, 39, 43, 45, &
      47, 49, 52, 54, 56, 60, 62, 64, 66, 68, 70, 72, &
      74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, &
      98,101,104,106,109,113,115,117,121,123,125,127, &
     130,132,136,139,143,146,149,153,156,158,161,165, &
     167,169,171,173,176,178,181,183,185,187,189,191, &
     193,195,197,199,201,203,205,207,209,211,213,215, &
     217,219,221,223,225,227,229,232,237,240,244,248, &
     252,256,259,263,267,270,273,277,283,288,294,302, &
     305,310,314,318,325,337,342,346,351,356,361,365, &
     372,377,382,388,394,401,405,410,414,422,429,437, &
     444,452,459,470,477,487,495,501,514,538,564,592, &
     639,663,674,689,703,739 /)

  INTEGER, PARAMETER, DIMENSION(162) :: LU_DIAG = (/ &
       1,  2,  3,  4,  5,  6,  7,  8, 10, 12, 13, 15, &
      16, 17, 18, 19, 20, 22, 23, 32, 34, 39, 43, 45, &
      47, 49, 52, 54, 56, 60, 62, 64, 66, 68, 70, 72, &
      75, 77, 79, 81, 83, 85, 86, 89, 91, 93, 95, 96, &
      98,101,104,106,109,113,115,117,121,123,125,127, &
     130,132,136,139,143,146,149,153,156,158,161,165, &
     167,169,171,174,176,179,181,183,185,187,189,191, &
     193,195,197,199,201,203,205,207,209,211,213,215, &
     217,219,221,223,225,227,229,232,238,242,245,249, &
     254,256,260,265,268,270,274,280,283,288,297,303, &
     307,311,314,320,327,338,343,346,351,356,361,367, &
     373,379,384,391,397,401,406,411,419,424,432,439, &
     447,453,463,471,481,489,495,506,529,556,585,633, &
     658,670,686,701,738,739 /)


END MODULE aqchem_JacobianSP

